package com.ruoyi.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 对账批次明细对象 t_cw_check_batch_detail
 * 
 * @author ruoyi
 * @date 2023-02-27
 */
public class TCwCheckBatchDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 自增 */
    private Long id;

    /** 账期年月日（yyyymmdd） */
    @Excel(name = "账期年月日", readConverterExp = "y=yyymmdd")
    private String billDay;

    /** 对账年月日(yyyymmdd) */
    @Excel(name = "对账年月日(yyyymmdd)")
    private String checkDay;

    /** 批次ID */
    @Excel(name = "批次ID")
    private Long batchId;

    private String pay_order_no;

    public String getPay_order_no() {
        return pay_order_no;
    }

    public void setPay_order_no(String pay_order_no) {
        this.pay_order_no = pay_order_no;
    }

    @Override
    public String toString() {
        return "TCwCheckBatchDetail{" +
                "id=" + id +
                ", billDay='" + billDay + '\'' +
                ", checkDay='" + checkDay + '\'' +
                ", batchId=" + batchId +
                ", batchNo='" + batchNo + '\'' +
                ", payOrderNo='" + payOrderNo + '\'' +
                ", qudaoOrderNo='" + qudaoOrderNo + '\'' +
                ", tradeQudao='" + tradeQudao + '\'' +
                ", certificateJz='" + certificateJz + '\'' +
                ", certificateDz='" + certificateDz + '\'' +
                ", tradeResult=" + tradeResult +
                ", amount='" + amount + '\'' +
                ", tradeDateZf='" + tradeDateZf + '\'' +
                ", commissionFee=" + commissionFee +
                ", payWay=" + payWay +
                ", tradeAccount='" + tradeAccount + '\'' +
                ", tradeAccountType=" + tradeAccountType +
                ", checkEndDate=" + checkEndDate +
                ", hasDiff=" + hasDiff +
                ", processState=" + processState +
                ", completeState=" + completeState +
                ", confirmDate=" + confirmDate +
                ", canClearingAmount=" + canClearingAmount +
                ", remarks='" + remarks + '\'' +
                ", reserve1=" + reserve1 +
                ", reserve2=" + reserve2 +
                ", reserve3='" + reserve3 + '\'' +
                ", reserve4='" + reserve4 + '\'' +
                ", reserve5='" + reserve5 + '\'' +
                ", delFlg=" + delFlg +
                ", createUserid=" + createUserid +
                ", updateUserid=" + updateUserid +
                ", orderNo='" + orderNo + '\'' +
                ", amountOrder=" + amountOrder +
                '}';
    }

    /** 批次号（yyyymmdd001） */
    @Excel(name = "批次号", readConverterExp = "y=yyymmdd001")
    private String batchNo;

    /** 交易流水号，支付订单的支付订单号 */
    @Excel(name = "交易流水号，支付订单的支付订单号")
    private String payOrderNo;

    /** 渠道订单号，支付订单中的渠道订单号 */
    @Excel(name = "渠道订单号，支付订单中的渠道订单号")
    private String qudaoOrderNo;

    /** 渠道名称：拉卡拉 交易渠道：暂时固定拉卡拉。 */
    @Excel(name = "渠道名称：拉卡拉 交易渠道：暂时固定拉卡拉。")
    private String tradeQudao;

    /** 记账凭证：支付接口回调更新支付状态的时候：已记账的才参与对账。交易流水号+100（未记账）（自动） 交易流水号+101（已记账）（自动）交易流水号+111（已记账）（手动） */
    @Excel(name = "记账凭证：支付接口回调更新支付状态的时候：已记账的才参与对账。交易流水号+100", readConverterExp = "未=记账")
    private String certificateJz;

    /** 对账凭证：支付接口回调更新支付状态的时候：已记账的才参与对账。交易流水号+200（未对账）（自动））,交易流水号+201（已对账）（自动）,交易流水号+211（已对账）（手动） */
    @Excel(name = "对账凭证：支付接口回调更新支付状态的时候：已记账的才参与对账。交易流水号+200", readConverterExp = "未对账")
    private String certificateDz;

    /** 交易结果：接口回调或者返回的结果 1:处理中，2:成功，3:失败。 */
    @Excel(name = "交易结果：接口回调或者返回的结果 1:处理中，2:成功，3:失败。")
    private Long tradeResult;

    /** 交易金额：支付订单金额（显示账单和系统支付订单中的金额，用“/”拼接） */
    @Excel(name = "交易金额：支付订单金额", readConverterExp = "显示账单和系统支付订单中的金额，用“/”拼接")
    private String amount;

    /** 交易日期:：渠道支付时间（显示账单和系统支付订单中的渠道支付时间，用“/”拼接） */
    @Excel(name = "交易日期:：渠道支付时间", readConverterExp = "显示账单和系统支付订单中的渠道支付时间，用“/”拼接")
    private String tradeDateZf;

    /** 手续费：对账文件里面的手续费 */
    @Excel(name = "手续费：对账文件里面的手续费")
    private BigDecimal commissionFee;

    /** 支付方式,同流水里面一样 1:微信扫码，2:支付宝扫码，3:微信公众号，4:认证支付，5:代付到银行卡 */
    @Excel(name = "支付方式,同流水里面一样 1:微信扫码，2:支付宝扫码，3:微信公众号，4:认证支付，5:代付到银行卡")
    private Long payWay;

    /** 交易账户：出端的账户如果是快捷支付：银行卡号，如果是支付宝微信扫码支付，理论上就是支付宝微信账号，H5也是微信账号。提现的时候：拉卡拉的企业账户） */
    @Excel(name = "交易账户：出端的账户如果是快捷支付：银行卡号，如果是支付宝微信扫码支付，理论上就是支付宝微信账号，H5也是微信账号。提现的时候：拉卡拉的企业账户）")
    private String tradeAccount;

    /** 交易账户类型：暂定1:微信，2:支付宝，3:银行卡，4:拉卡拉（微信扫码和H5都是微信，支付宝扫码就是支付宝，认证就是银行卡，提现的时候是拉卡拉） */
    @Excel(name = "交易账户类型：暂定1:微信，2:支付宝，3:银行卡，4:拉卡拉", readConverterExp = "微=信扫码和H5都是微信，支付宝扫码就是支付宝，认证就是银行卡，提现的时候是拉卡拉")
    private Long tradeAccountType;

    /** 对账完成时间：对账记录的创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "对账完成时间：对账记录的创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date checkEndDate;

    /** 是否差错， 0：否， 1：是 */
    @Excel(name = "是否差错， 0：否， 1：是")
    private Integer hasDiff;

    /** 差错处理结果：1：未处理, 2：要结算，3：不结算，4：已处理 (对于入金，选择2，或者3来提示处理结果，出金，线下处理账款，上来标记已处理状态, 没有差错的时候为空) */
    @Excel(name = "差错处理结果：1：未处理, 2：要结算，3：不结算，4：已处理 (对于入金，选择2，或者3来提示处理结果，出金，线下处理账款，上来标记已处理状态, 没有差错的时候为空)")
    private Long processState;

    /** 是否完成对账, 1:完成，2：未完成， 3：取消 */
    @Excel(name = "是否完成对账, 1:完成，2：未完成， 3：取消")
    private Long completeState;

    /** 对账确认时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "对账确认时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date confirmDate;

    /** 商户可结算金额（入金的时候，可以结算给商户虚拟账户的金额，比如商户充值金额，租户缴费金额，差错处理的时候提示信息判断用, 为0的时候，表示没有结算金额） */
    @Excel(name = "商户可结算金额", readConverterExp = "入=金的时候，可以结算给商户虚拟账户的金额，比如商户充值金额，租户缴费金额，差错处理的时候提示信息判断用,,为=0的时候，表示没有结算金额")
    private BigDecimal canClearingAmount;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    /** 预留字段1 */
    private BigDecimal reserve1;

    /** 预留字段2 */
    private Long reserve2;

    /** 预留字段3 */
    private String reserve3;

    /** 预留字段4 */
    private String reserve4;

    /** 预留字段5 */
    private String reserve5;

    /** 删除标识,0:未删除，1：删除 */
    @Excel(name = "删除标识,0:未删除，1：删除")
    private Integer delFlg;

    /** 创建用户ID */
    @Excel(name = "创建用户ID")
    private Long createUserid;

    /** 更新用户ID */
    @Excel(name = "更新用户ID")
    private Long updateUserid;
    /**支付订单编号*/
    private String orderNo;
    /**支付表中支付金额*/
    private BigDecimal amountOrder;
    /**支付表中支付金额*/
    private String qudao_order_no;

    public String getQudao_order_no() {
        return qudao_order_no;
    }

    public void setQudao_order_no(String qudao_order_no) {
        this.qudao_order_no = qudao_order_no;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public BigDecimal getAmountOrder() {
        return amountOrder;
    }

    public void setAmountOrder(BigDecimal amountOrder) {
        this.amountOrder = amountOrder;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setBillDay(String billDay) 
    {
        this.billDay = billDay;
    }

    public String getBillDay() 
    {
        return billDay;
    }
    public void setCheckDay(String checkDay) 
    {
        this.checkDay = checkDay;
    }

    public String getCheckDay() 
    {
        return checkDay;
    }
    public void setBatchId(Long batchId) 
    {
        this.batchId = batchId;
    }

    public Long getBatchId() 
    {
        return batchId;
    }
    public void setBatchNo(String batchNo) 
    {
        this.batchNo = batchNo;
    }

    public String getBatchNo() 
    {
        return batchNo;
    }
    public void setPayOrderNo(String payOrderNo) 
    {
        this.payOrderNo = payOrderNo;
    }

    public String getPayOrderNo() 
    {
        return payOrderNo;
    }
    public void setQudaoOrderNo(String qudaoOrderNo) 
    {
        this.qudaoOrderNo = qudaoOrderNo;
    }

    public String getQudaoOrderNo() 
    {
        return qudaoOrderNo;
    }
    public void setTradeQudao(String tradeQudao) 
    {
        this.tradeQudao = tradeQudao;
    }

    public String getTradeQudao() 
    {
        return tradeQudao;
    }
    public void setCertificateJz(String certificateJz) 
    {
        this.certificateJz = certificateJz;
    }

    public String getCertificateJz() 
    {
        return certificateJz;
    }
    public void setCertificateDz(String certificateDz) 
    {
        this.certificateDz = certificateDz;
    }

    public String getCertificateDz() 
    {
        return certificateDz;
    }
    public void setTradeResult(Long tradeResult) 
    {
        this.tradeResult = tradeResult;
    }

    public Long getTradeResult() 
    {
        return tradeResult;
    }
    public void setAmount(String amount) 
    {
        this.amount = amount;
    }

    public String getAmount() 
    {
        return amount;
    }
    public void setTradeDateZf(String tradeDateZf) 
    {
        this.tradeDateZf = tradeDateZf;
    }

    public String getTradeDateZf() 
    {
        return tradeDateZf;
    }
    public void setCommissionFee(BigDecimal commissionFee) 
    {
        this.commissionFee = commissionFee;
    }

    public BigDecimal getCommissionFee() 
    {
        return commissionFee;
    }
    public void setPayWay(Long payWay) 
    {
        this.payWay = payWay;
    }

    public Long getPayWay() 
    {
        return payWay;
    }
    public void setTradeAccount(String tradeAccount) 
    {
        this.tradeAccount = tradeAccount;
    }

    public String getTradeAccount() 
    {
        return tradeAccount;
    }
    public void setTradeAccountType(Long tradeAccountType) 
    {
        this.tradeAccountType = tradeAccountType;
    }

    public Long getTradeAccountType() 
    {
        return tradeAccountType;
    }
    public void setCheckEndDate(Date checkEndDate) 
    {
        this.checkEndDate = checkEndDate;
    }

    public Date getCheckEndDate() 
    {
        return checkEndDate;
    }
    public void setHasDiff(Integer hasDiff) 
    {
        this.hasDiff = hasDiff;
    }

    public Integer getHasDiff() 
    {
        return hasDiff;
    }
    public void setProcessState(Long processState) 
    {
        this.processState = processState;
    }

    public Long getProcessState() 
    {
        return processState;
    }
    public void setCompleteState(Long completeState) 
    {
        this.completeState = completeState;
    }

    public Long getCompleteState() 
    {
        return completeState;
    }
    public void setConfirmDate(Date confirmDate) 
    {
        this.confirmDate = confirmDate;
    }

    public Date getConfirmDate() 
    {
        return confirmDate;
    }
    public void setCanClearingAmount(BigDecimal canClearingAmount) 
    {
        this.canClearingAmount = canClearingAmount;
    }

    public BigDecimal getCanClearingAmount() 
    {
        return canClearingAmount;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }
    public void setReserve1(BigDecimal reserve1) 
    {
        this.reserve1 = reserve1;
    }

    public BigDecimal getReserve1() 
    {
        return reserve1;
    }
    public void setReserve2(Long reserve2) 
    {
        this.reserve2 = reserve2;
    }

    public Long getReserve2() 
    {
        return reserve2;
    }
    public void setReserve3(String reserve3) 
    {
        this.reserve3 = reserve3;
    }

    public String getReserve3() 
    {
        return reserve3;
    }
    public void setReserve4(String reserve4) 
    {
        this.reserve4 = reserve4;
    }

    public String getReserve4() 
    {
        return reserve4;
    }
    public void setReserve5(String reserve5) 
    {
        this.reserve5 = reserve5;
    }

    public String getReserve5() 
    {
        return reserve5;
    }
    public void setDelFlg(Integer delFlg) 
    {
        this.delFlg = delFlg;
    }

    public Integer getDelFlg() 
    {
        return delFlg;
    }
    public void setCreateUserid(Long createUserid) 
    {
        this.createUserid = createUserid;
    }

    public Long getCreateUserid() 
    {
        return createUserid;
    }
    public void setUpdateUserid(Long updateUserid) 
    {
        this.updateUserid = updateUserid;
    }

    public Long getUpdateUserid() 
    {
        return updateUserid;
    }

}
